package com.df.ez_game.server.broker;

import com.baidu.bjf.remoting.protobuf.FieldType;
import com.baidu.bjf.remoting.protobuf.annotation.Protobuf;
import lombok.Data;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@Data
public class BrokerMsg {
    int msgType;//1请求 2响应 3广播
    int from ;//来自那个服务节点
    int to;//

    /**
     * 请求命令id
     */
    @Protobuf(fieldType = FieldType.INT32, order = 2)
    private int cmd;
    /**
     * 请求版本
     */
    @Protobuf(fieldType = FieldType.INT32, order = 3)
    private int ver;

    /**
     * 前端传过来的消息标记，一般用于区分消息序列，返回时会回传
     */
    @Protobuf(fieldType = FieldType.INT32, order = 4)
    private int msgTag;
    /**
     * 是否需要回复
     */
    @Protobuf(fieldType = FieldType.BOOL, order = 5)
    private boolean needResp;
    /**
     * 请求数据
     */
    @Protobuf(fieldType = FieldType.BYTES, order = 6)
    private byte[] data;

    private List<Integer> bind = new ArrayList<>();
    //metadata
    //userid
    //channelid
    //binding（绑定关系，后续的请求都会发送到指定服）
}
